/*  1:   */ package com.jetbrains.javascript.debugger;
/*  2:   */ 
/*  3:   */

import com.intellij.openapi.editor.Document;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiElement;
import com.intellij.xdebugger.breakpoints.XLineBreakpointType;
import com.intellij.xdebugger.evaluation.ExpressionInfo;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

/*  4:   */
/*  5:   */
/*  6:   */
/*  7:   */
/*  8:   */
/*  9:   */
/* 10:   */
/* 11:   */
/* 12:   */
/* 13:   */ 
/* 14:   */ public abstract class JavaScriptDebugAware
/* 15:   */ {
/* 16:15 */   public static final ExtensionPointName<JavaScriptDebugAware> EP_NAME = ExtensionPointName.create("com.jetbrains.javaScriptDebugAware");
/* 17:   */   
/* 18:   */   @Nullable
/* 19:   */   public abstract FileType getFileType();
/* 20:   */   
/* 21:   */   @Nullable
/* 22:   */   public XLineBreakpointType<?> getBreakpointTypeClass(@NotNull Project paramProject)
/* 23:   */   {
/* 24:22 */     if (paramProject == null) {
/* 25:22 */       throw new IllegalArgumentException(String.format("Argument %s for @NotNull parameter of %s.%s must not be null", new Object[] { "0", "com/jetbrains/javascript/debugger/JavaScriptDebugAware", "getBreakpointTypeClass" }));
/* 26:   */     }
/* 27:22 */     return null;
/* 28:   */   }
/* 29:   */   
/* 30:   */   public boolean isOnlySourceMappedBreakpoints()
/* 31:   */   {
/* 32:30 */     return true;
/* 33:   */   }
/* 34:   */   
/* 35:   */   @Nullable
/* 36:   */   public TextRange getRangeForNamedElement(@NotNull PsiElement paramPsiElement1, @Nullable PsiElement paramPsiElement2, int paramInt)
/* 37:   */   {
/* 38:35 */     if (paramPsiElement1 == null) {
/* 39:35 */       throw new IllegalArgumentException(String.format("Argument %s for @NotNull parameter of %s.%s must not be null", new Object[] { "0", "com/jetbrains/javascript/debugger/JavaScriptDebugAware", "getRangeForNamedElement" }));
/* 40:   */     }
/* 41:35 */     return null;
/* 42:   */   }
/* 43:   */   
/* 44:   */   @Nullable
/* 45:   */   public ExpressionInfo getEvaluationInfo(@NotNull PsiElement paramPsiElement, @NotNull Document paramDocument, @NotNull Project paramProject)
/* 46:   */   {
/* 47:40 */     if (paramPsiElement == null) {
/* 48:40 */       throw new IllegalArgumentException(String.format("Argument %s for @NotNull parameter of %s.%s must not be null", new Object[] { "0", "com/jetbrains/javascript/debugger/JavaScriptDebugAware", "getEvaluationInfo" }));
/* 49:   */     }
/* 50:40 */     if (paramDocument == null) {
/* 51:40 */       throw new IllegalArgumentException(String.format("Argument %s for @NotNull parameter of %s.%s must not be null", new Object[] { "1", "com/jetbrains/javascript/debugger/JavaScriptDebugAware", "getEvaluationInfo" }));
/* 52:   */     }
/* 53:40 */     if (paramProject == null) {
/* 54:40 */       throw new IllegalArgumentException(String.format("Argument %s for @NotNull parameter of %s.%s must not be null", new Object[] { "2", "com/jetbrains/javascript/debugger/JavaScriptDebugAware", "getEvaluationInfo" }));
/* 55:   */     }
/* 56:40 */     return null;
/* 57:   */   }
/* 58:   */   
/* 59:   */   @Nullable
/* 60:   */   public static JavaScriptDebugAware find(@Nullable FileType paramFileType)
/* 61:   */   {
/* 62:45 */     if (paramFileType == null) {
/* 63:46 */       return null;
/* 64:   */     }
/* 65:49 */     for (JavaScriptDebugAware localJavaScriptDebugAware : (JavaScriptDebugAware[])EP_NAME.getExtensions()) {
/* 66:50 */       if (paramFileType.equals(localJavaScriptDebugAware.getFileType())) {
/* 67:51 */         return localJavaScriptDebugAware;
/* 68:   */       }
/* 69:   */     }
/* 70:54 */     return null;
/* 71:   */   }
/* 72:   */   
/* 73:   */   public static boolean isBreakpointAware(@Nullable FileType paramFileType)
/* 74:   */   {
/* 75:58 */     return find(paramFileType) != null;
/* 76:   */   }
/* 77:   */ }



/* Location:           E:\idea\

 * Qualified Name:     com.jetbrains.javascript.debugger.JavaScriptDebugAware

 * JD-Core Version:    0.7.0.1

 */